package cn.smile.commons.enums.basic;

import lombok.Getter;
import org.springframework.util.ObjectUtils;

import java.util.Objects;

@Getter
public enum VoucherStatusEnum {
    /**
     * 未生效
     */
    NOT_ACTIVATED(0, "未生效"),
    /**
     * 生效中
     */
    IN_EFFECT(1, "生效中"),
    /**
     * 已过期
     */
    EXPIRED(2, "已过期"),
    /**
     * 未使用
     */
    UN_USE(3, "未使用"),
    /**
     * 已使用
     */
    USE(4, "已使用"),
    /**
     * 未知
     */
    NULL(-1, "未知");
    private final Integer sn;
    private final String msg;

    VoucherStatusEnum(Integer sn, String msg) {
        this.sn = sn;
        this.msg = msg;
    }

    public static VoucherStatusEnum get(Integer code) {
        if (!ObjectUtils.isEmpty(code)) {
            for (VoucherStatusEnum status : values()) {
                if (Objects.equals(status.getSn(), code)) {
                    return status;
                }
            }
        }
        return NULL;
    }
}
